Static Use of Locking Caches vs. Dynamic Useof Locking Caches for Real-time Systems
نویسندگان
چکیده
Locking caches are a useful alternative to standard cache memories in order to reach both predictability and high performance for multitasking, preemptive, fixedpriority real-time systems. Two schemes of locking cache are possible: static and dynamic use. Both schemas present a high degree of predictability and like-cache performance. But these two schemes are not equivalent. Each one performs better for systems with particular characteristics. This work show that static use presents a greater degree of predictability than dynamic use, but dynamic use offers better performance for the major part of the cases. Systems are grouped as a function of the relationship between cache size and code size, allowing a fast and easy prediction about the gain or loss of performance given by each use of locking caches.
منابع مشابه
Performance Comparison of Locking Caches under Static and Dynamic Schedulers
Static use of locking caches is a useful solution to take advantage of cache memories in real-time systems. Locking cache operates preloading and locking a set of instructions, thus cache contents are a-priori known and remain unchanged during system operation. This solution eliminates the unpredictable behavior of conventional caches, making easy to accomplish the schedulability test through s...
متن کاملDynamic Use of Locking Caches in Multitask, Preemptive, Real-time Systems
In multitask, preemptive real-time systems, the use of cache memories makes estimating the response time of tasks difficult, due to the dynamic, adaptive and non-predictable behaviour of cache memories. This work presents a comprehensive method for attaining predictability on the use of caches in real-time systems through the use of locking caches, which ensure cache contents will remain unchan...
متن کاملA Comparison of Three Genetic Algorithms for Locking-Cache Contents Selection in Real-Time Systems
Locking caches, providing full determinism and good performance, are a very interesting solution to replacing conventional caches in real-time systems. In such systems, temporal correctness must be guaranteed. The use of predictable components, like locking caches, helps the system designer to determine if all the tasks will meet its deadlines. However, when locking caches are used in a static ...
متن کاملTowards a Predictable and High Performance Use of Instruction Caches in Hard Real-Time Systems
Cache memories have been widely used in order to bridge the gap between high speed processors and relatively slow main memories. However they are a source of predictability problems. A lot of progress has been achieved to model caches, in order to determine safe and precise bounds on (i) tasks’ WCETs in the presence of caches; (ii) cacherelated preemption delays. An alternative approach to cope...
متن کاملOn Using Locking Caches in Embedded Real-Time Systems
Cache memories are crucial to obtain high performance on contemporary processors. However, they have been traditionally avoided in embedded real-time systems due to their lack of determinism. Unfortunately, most of the techniques to attain predictability on caches are complex to apply, precluding their use on real applications. This work reviews several techniques developed by the authors to us...
متن کامل